export interface NavigationTabProps {
  label: string;
  id: string | number;
  routerPath: string;
  activeImgHref: string;
  defaultImgHref: string;
  badge: boolean;
}

export interface FlowLayoutChildrenProps {
  title: string;
  imgImport: string;
  count?: string | number;
}

export interface NavigationProps {
  height?: string | number;
  styles?: any;
  // styles?: object;
  className?: string;
  navigationMenu: Array<NavigationTabProps>;
  isRouter?: boolean;
  defaultActiveKey?: string | number;
}

export interface FlowLayoutProps {
  layoutList: Array<{
    title: string;
    children: Array<FlowLayoutChildrenProps>;
  }>;
  showHeader?: boolean;
}

export interface MessageListProps {
  messageList: Array<any>;
  dotString: string;
}

export interface InlineMessageProps {
  messageList: MessageListProps["messageList"];
  isFinish?: boolean;
  isTimeFinish?: boolean;
}

export interface TableProps {
  columns: AnyArray;
  dataSource: AnyArray;
  rowKeyValue: (record: any) => any | string;
  scroll?: {
    x: number | true;
    y: number;
  };
  columnsOptions?: {
    customHeaderCell: (column: AnyObject) => AnyObject;
    customCell: (record: AnyObject, rowIndex: number) => AnyObject;
  };
  customHeaderRow?: (column: AnyObject, index: number) => AnyObject;
  customRow?: (record: AnyObject, index: number) => AnyObject;
  pagination?: AnyObject | false;
  bordered?: boolean;
}
